package com.ggggeeennn.exam.service;

import com.ggggeeennn.exam.domain.ExamManage;
import com.ggggeeennn.exam.domain.PaperParam;
import com.ggggeeennn.question.domain.Question;

import java.util.List;

/**
 * 考试管理Service接口
 * 
 * @author ggggeeennn
 * @date 2025-06-30
 */
public interface IExamManageService 
{
    /**
     * 查询考试管理
     * 
     * @param examCode 考试管理主键
     * @return 考试管理
     */
    public ExamManage selectExamManageByExamCode(Long examCode);

    /**
     * 查询考试管理列表
     * 
     * @param examManage 考试管理
     * @return 考试管理集合
     */
    public List<ExamManage> selectExamManageList(ExamManage examManage);

    /**
     * 新增考试管理
     * 
     * @param examManage 考试管理
     * @return 结果
     */
    public int insertExamManage(ExamManage examManage);

    /**
     * 修改考试管理
     * 
     * @param examManage 考试管理
     * @return 结果
     */
    public int updateExamManage(ExamManage examManage);

    /**
     * 批量删除考试管理
     * 
     * @param examCodes 需要删除的考试管理主键集合
     * @return 结果
     */
    public int deleteExamManageByExamCodes(Long[] examCodes);

    //查看试卷试题列表
    public List<Question> selectPaperList(PaperParam paperParam);

    //t添加试题到试卷
    public int addQuestionstoPaper(PaperParam paperParam);

    //发布或隐藏试卷
    public int releaseExam(Integer isPublic,Long examCode);

    //删除试题的试卷
    int removePaperQuestion(PaperParam paperParam);
}
